package com.lac.component.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author xiaokuixiao
 * date2025/8/7 14:49
 */
@Data
@Accessors(chain = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GoodsSkuQueryVo implements Serializable {

    /**
     * UID
     */
    private static final long serialVersionUID = 1L;

    // ================================================================
    // Fields
    // ================================================================

    /**
     * PK
     */

    private String id;

    /**
     * 所属租户
     */

    private String tenantId;

    /**
     * sku编码
     */

    private String skuCode;

    /**
     * 商品Id
     */

    private String spuId;

    /**
     * 图片
     */

    private String picUrl;

    /**
     * 建议零售价
     */

    private BigDecimal marketPrice;

    /**
     * 成本价
     */

    private BigDecimal costPrice;

    /**
     * 库存
     */

    private Integer stock;

    /**
     * 重量（kg）
     */

    private BigDecimal weight;

    /**
     * 体积（m³）
     */

    private BigDecimal volume;

    /**
     * 是否启用1、是；0否
     */

    private String enable;

    /**
     * 逻辑删除标记（0：显示；1：隐藏）
     */

    private String delFlag;

    /**
     * 版本号
     */

    private Integer version;

    /**
     * 积分兑换价格
     */

    private BigDecimal pointExchangeAmount;

    /**
     * 兑换需要的积分
     */

    private Integer exchangeNeedPoint;

    /**
     * 进项税
     */

    private Integer inputTax;

    /**
     * 销项税
     */

    private Integer outputTax;

    /**
     * 税收分类编码
     */
    private String revenueCode;

    private String createUser;


    private Date createTime;

    private String updateUser;

    private Date updateTime;

    private List<GoodsSkuSpecValueQueryVo> specs;

    private String name;

    /**
     * 创建人用户id
     */
    private String createdUserId;

    /**
     * 供应商id
     */
    private String supplierId;

    /**
     * 供应商类型
     */
    private String supplierType;

    /**
     * 父sku的id，关联上级供应商sku的id
     */
    private String parentId;

    /**
     * 所有供应商相同规格sku的标识
     */
    private String label;

    /**
     * 渠道销售价
     */
    private List<GoodsSkuSalesPriceQueryVo> channelSalesPrice;

    /**
     * 商品知识ID
     */
    private String knowledgeId;

    /**
     * sku分类属性
     */
    private List<GoodsCategoryAttributeQueryVo> categoryAttributeList;

    /**
     * 第三方商品来源类型 {@link com.ecej.oms.service.admin.enums.ThirdpartySourceTypeEnum}
     */
    private String thirdSourceType;

    /**
     * 第三方商品来源id
     */
    private String thirdSourceId;

    /**
     * 厂商建议零售价
     */
    private BigDecimal manufacturerSuggestedRetailPrice;
}